#ifndef __edaMoveGen_h__
#define __edaMoveGen_h__

#include "edaMove.h"
#include "edaSerialize.h"

#include "edaDefine.h"

class edaMoveGen : public edaSerialize
{
 public:
  edaMoveGen() {}
  edaMoveGen(const edaMoveGen &m) {}
  virtual ~edaMoveGen() {}
  virtual edaMoveGen *clone() const = 0;
  virtual bool generate( edaMove *move, const edaSolution &sol ) = 0;

  setClassID(_SYSCLASSID_ + _CLSID_EDAMOVEGEN_);
};

#endif
